export default {
    // 获取用户token（优先从state获取，不存在则尝试从localStorage读取）
    token: (state) => state.user.token || localStorage.getItem('token'),

    // 获取用户角色信息
    roles: (state) => state.user.roles || [],

    // 获取权限路由
    routes: (state) => state.permission.routes,

    // 获取侧边栏状态
    sidebarOpened: (state) => state.app.sidebar.opened,

    // 获取当前主题
    theme: (state) => state.app.theme,

    // 获取用户信息（包含权限标识）
    userInfo: (state) => ({
        ...state.user.info,
        // 计算权限点（示例：将权限数组转为对象形式）
        permissions: state.user.permissions?.reduce((acc, cur) => {
            acc[cur] = true
            return acc
        }, {}) || {}
    }),

    // 获取标签页列表
    visitedViews: (state) => state.tagsView.visitedViews,

    // 获取缓存页面名称列表
    cachedViews: (state) => state.tagsView.cachedViews,

    // 获取设备类型（移动端/桌面端）
    device: (state) => state.app.device,

    // 获取全局尺寸配置
    size: (state) => state.app.size
}
